本地快速体验 Kylin「分析篇」
「搭建篇」中李森辉为大家介绍了如何在自家电脑上快速搭建好 Apache Kylin 。通过 Kylin 自带的简单图表展示来进行数据分析的你是否觉得还不够过瘾?想在酷炫的仪表盘上进行数据分析?今天就给大家带来一款上手较快,简单易用的数据驱动式 Notebook 工具——Apache Zeppelin。将 Zeppelin 与Kylin 集成后,你就可以通过它来定制你的数据可视化报告,更直观地体验 Kylin 的分析“神”速啦~
与 Kylin 一样, Apache Zeppelin 也是 Apache 软件基金会的顶级项目,是一款基于 Web 的 Notebook(类似于 IPython 的 Notebook),支持交互式的数据分析,原生就支持 Spark、Scala、SQL、Shell、Markdown 等编程或脚本语言。访问其官方网站(https://zeppelin.apache.org)可了解更多的信息。
△ Apache Zeppelin
下载与安装
Zeppelin 也有一套类似 Kylin 的可插拔框架机制,为不同的编程或脚本语言提供对应的解释器接口,实际使用过程中通过(%+解释器名称)来识别,因此在下载页面可看到有两个不同的版本:
all 版本:软件包里面包含 Zeppelin 支持的所有编程语言的解释器。
netinst 版本:软件包里面只包含了 Spark、Shell 等基础编程语言的解释器,其它语言解释器可按需安装。netinst 的含义即是通过网络安装。
建议下载 netinst 版本的软件包,其它编程或脚本语言可通过插件安装方式扩展,通过 SSH 终端工具上传到虚拟电脑,或者直接在虚拟电脑上通过 wget/curl 命令下载到本地。
然后,解压 Zeppelin 软件包到自定义的安装目录下面,进入到 conf 文件夹下,将原有的 zeppelin-site.xml.template 配置文件拷贝另存名称为 zeppelin-site.xml 文件。该文件中主要包括 Zeppelin 服务相关的配置项,如对外访问端口默认为 8080,可修改成自定义的端口号,其它参数配置也可按实际情况进行修改。更加详细的参数配置说明,可访问官方提供的说明(https://zeppelin.apache.org/docs/0.8.0/setup/operation/configuration.html)。完成配置参数自定义修改后,重新切换到 Zeppelin 安装目录,执行如下的命令,便以后台常驻形式启动 Zeppelin 服务:
[kylin@quickstart zeppelin-0.8.1-bin-netinst]$ bin/zeppelin-daemon.sh start
最后,打开浏览器在地址栏中输入:http://虚拟电脑IP地址:8080/,敲下回车键,即可成功访问和使用 Zeppelin 服务。
集成Apache Kylin
手动添加 Kylin 的解释器,在 Zeppelin 的安装目录下执行如下的命令进行安装操作,安装完成后需要重启 Zeppelin 服务。
[kylin@quickstart zeppelin-0.8.1-bin-netinst]$ bin/install-interpreter.sh --name kylin --artifact org.apache.zeppelin:zeppelin-kylin:0.8.1
[kylin@quickstart zeppelin-0.8.1-bin-netinst]$ bin/zeppelin-daemon.sh restart
然后,对 Kylin 的解释器进行相关配置,通过浏览器访问并打开 Zeppelin Notebook 页面,在页面左上角的菜单进入到解释器的配置页面找到 Kylin 标题,将 Kylin REST API 相关的信息进行配置,如 API 地址、用户名、密码等信息,可参考下图所示:
△ Kylin 解释器配置
最后,可创建一个简单的 Notebook 进行初步的验证。创建新的 Notebook 需要填充 2 个关键的参数:Note Name(支持目录级创建),默认的解释器类型(不需要添加 %+ 解释器,这里选取 kylin ),如下图所示:
△ 创建 Notebook
接着在代码段输入查询 SQL 语句,点击右上角的执行按钮即可得到如下图所示的结果:
△ Kylin Query on Zeppelin
制作数据仪表盘
设计定制化的数据报表之前,需要先来熟悉下 Zeppelin 的 Notebook UI 界面布局。前面集成 Kylin 操作中已经提及到创建 Notebook 的操作,正如“创建 Notebook”图中所示,通过 Notebook 下拉菜单,可以有如下的操作:
Create new notebook
Filter
Folder/notebook
Zeppelin 的 Notebook 是由不同的段落(卡片)组合而成的,创建好一个新的 Notebook 后,默认也会创建一个新的卡片,执行查询后在界面上可清晰看到如下图所示的区域划分:
△ Notebook 区域划分
绿色:功能区域,包括执行、展开/收缩、显示/隐藏、设置等操作
红色:代码(SQL 语句)编辑区域
黄色:可视化显示类型区域,切换不同的显示方式
黑色:结果显示设置区域,针对不同的显示效果做相应的设置调整
蓝色:可视化结果显示区域
注:Zeppelin 的卡片不支持直接拖拽排列布局,需要通过功能区来操作(或是快捷键按钮),关于功能区域各按钮作用说明可参考官方网站说明:https://zeppelin.apache.org/docs/0.8.0/quickstart/explore_ui.html#note-toolbar 。
在了解清楚 Zeppelin Notebook 的布局和使用后,可得知通过不同卡片的组合就能轻松实现定制化的数据报表,那么只需要根据自己的想法来创建不同类型的数据卡片,最终形成与自己想法一致的数据仪表盘,通过 Zeppelin 的 Report 模式发布后可直接访问,如下图所示。
△ 数据仪表盘示例
扩展可视化插件
Zeppelin 自带的可视化图形并不是很丰富,只有常见的 5 种类型,包括有表格、柱形图、饼图、面积图、折线图和散点图。这些图形常常不能满足我们做定制化报表的需求,Zeppelin 提供了基于 Helium 框架来丰富可视化组件的方式,扩展操作也是相当的方便,在页面右上角的下拉菜单中找到 Helium,点击跳转到 Helium 可视化组件列表页面。浏览并找到所需要的可视化类型,点击右侧的 Enable 按钮并在弹出的窗口中点击 OK 按钮,稍等一会便可完成新的可视化组件的扩展,如下图所示:
△ 扩展可视化插件
注意,新开启的可视化组件需要重启后才能生效,在 Zeppelin 安装目录下执行如下命令进行重启,然后重新打开 Notebook,在卡片的功能区上面便可查看到新可视化组件按钮。
[kylin@quickstart zeppelin-0.8.1-bin-netinst]$ bin/zeppelin-daemon.sh restart
总结
通过 Kylin+Zeppelin 集成来制作定制化数据报表,你能发现“麒麟”神兽除具有神速以外,还有强大的可扩展性能与 BI 工具友好的对接。除了本文中介绍到的 Zeppelin 之外,Kylin 还能对接很多 BI 工具,比如:Superset、CBorad、Tableau、Power BI、 帆软 BI 、永洪 BI 等等。甚至,你还可以根据自身的需求,定制开发个性化的数据报表平台。用一句时髦的话来说,就是“没有做不到的,只有你想不到的”。
作者简介:李森辉,Kyligence 解决方案架构师,拥有丰富的软件开发与架构设计经验,熟悉大数据数仓平台建设,目前主要负责金融行业类的大数据数仓平台解决方案设计。
首届 Kylin Data Summit 大会日程新鲜出炉,来自 Gartner、Kyligence、建行、eBay、微软、滴滴等 20+ 企业的技术大咖邀您共话大数据前沿:
Gartner 研究总监,Julian Sun《2019 年数据管理及分析领域十大战略性技术趋势》
建设银行架构团队技术总监,朱志《过去、现在和未来,银行大数据的演变趋势是什么?》
eBay 中国研发中心总经理,田卫《增强分析(Augmented Analytics)将如何赋能 eBay 的大数据分析?》
滴滴出行技术专家,靳国卫《滴滴 Kylin 自助式治理与演进之路》
好买财富架构总监,王晔倞《中间件运维分析的选型与实践》
eBay 资深研发工程师,钟阳红《基于 Apache Kylin 的实时 OLAP 引擎构建》
Kyligence 首席架构师,史少锋《增强分析技术与 Apache Kylin 的未来》
目前大会购票火热进行中,5 人团购享全网最低价,长按识别下方二维码或点击“阅读原文”了解更多大会详情!Apache Kylin 社区 Contributor 可联系 K 小助(微信号:uncertainly5)获取赠票,添加为好友后需回复“赠票”。